package com.dream.system.service;

import java.util.List;
import java.util.Map;

import net.sf.json.JSONArray;

import com.dream.model.SysUser;
import com.dream.model.Sys_Question;
import com.dream.model.Sys_TestPaper;
import com.dream.model.Sys_User_TestPaper;

@SuppressWarnings("all")
public interface ISys_TestPaper {

	/**
	 * 增加一个卷子
	 * 
	 * @param model
	 * @return
	 */
	int addTestPaper(Sys_TestPaper model);

	/**
	 * 查询一个人的卷子列表
	 * 
	 * @param model
	 * @return
	 */
	Map getTestPaper(Sys_TestPaper model, SysUser sysUser);

	/**
	 * 删除试卷
	 * 
	 * @param model
	 */
	int deleteTestPaper(String allId);
	/**
	 * 更新试卷内容
	 * @param model
	 * @return
	 */
	int updateTestPaper(Sys_TestPaper model);
	/**
	 * 更新一道题的内容
	 * @param model
	 * @return
	 */
	int updateTestPaperQuestion(Sys_Question model);
	/**
	 * 增加一个道的内容
	 * @param model
	 * @return
	 */
	int addTestPaperQuestion(Sys_Question model);
	/**
	 * 查询一张卷中的题
	 * @param model
	 * @return
	 */
	Map getTestPaperQuestion(Sys_TestPaper model);
	/**
	 * 删除题
	 * 
	 * @param model
	 */
	int deleteQuestion(String parameter);
	/**
	 * 查询当前老师需要修改的题 
	 * @param sysUser
	 * @return
	 */
	Map getHomeWorkChecked(SysUser sysUser);
	/**
	 * 自动修改作业
	 * @param parameter
	 * @return
	 */
	int updateAutoCheckTestPaper(JSONArray list);
	/**
	 * 查询一个学生现在所有的作业
	 * @param jsonArray
	 * @return
	 */
	Map getHomeWorkComplet(JSONArray jsonArray);
	/**
	 * 查询学生当前所有的试卷
	 * @param model
	 * @param sysUser
	 * @return
	 */
	Map getSudentTestPaper(Sys_TestPaper model, SysUser sysUser);
	/**
	 * 得到一卷的详细信息
	 * @param model
	 * @param sysUser
	 * @return
	 */
	Map getTest_PaperQuestionInfo(Sys_TestPaper model, SysUser sysUser);
	/**
	 * 
	 * 回答一道 题 
	 * @param model
	 * @param sysUser
	 * @return
	 */
	int updateQuestionValue(Sys_Question model, SysUser sysUser,String value);
	/**
	 * 
	 * 完成学生的一个卷
	 * @param sysUser
	 * @param juanId
	 * @return
	 */
	int updateCompletTestPaper(SysUser sysUser, String juanId);
	/**
	 * 
	 * 完成学生的一个卷 ,都是给打分
	 * @param sysUser
	 * @param juanId
	 * @return
	 */
	int updateQuestionQValue(Sys_Question model, SysUser sysUser, String qValue);
	/**
	 * 
	 * 完成一个卷的批改
	 * @param sysUser1
	 * @param juanId
	 * @return
	 */
	int updateTeacherCompletTestPaper(SysUser sysUser1, String juanId);
	
	/**
	 * 查询地区班级第一级，及下级
	 * @param str
	 * @return
	 */
	Map getListLv(String str);
	
	Sys_TestPaper addTestPaper1(Sys_TestPaper model);
	/**
	 * 增加一个题
	 * @param model
	 * @return
	 */
	Sys_Question addTestPaperQuestion1(Sys_Question model);

}
